import Vue from 'vue'
import Vuex from 'vuex'

// 自动模块导入
const moduleFn = require.context('./modules', false, /\.js$/)
const modules = moduleFn.keys().reduce((p, c) => {
  let key = c.match(/\.\/(\w+)\.js$/)[1]
  let value = {}
  if ('common' === key) { // 公共的模块不需要命名空间，state还是有的
    value = moduleFn(c).default
  } else {
    value = { ...moduleFn(c).default, namespaced: true }
  }
  p[key] = value
  return p
}, {})


Vue.use(Vuex)

export default new Vuex.Store({
  modules
})
